Tables are one of the most useful parts of current HTML (Hypertext Markup Language). They make it possible for designers to create documents on the web which have a much more robust structure than was possible with HTML prior to their introduction. BBEdit HTML Tables was written to extend the capabilities of the BBEdit software, which is one of the best ways of coding pages if you know HTML. When I started using BBEdit to create my own pages, it quickly became apparent that existing table extensions fell somewhat short in their implementation of the available table specification. The intention with this software has been to produce something that while unfortunately not WYSWYG (essentially impossible in an extension to BBEdit) is as easy to use as possible, while also allowing the creation of complex tables.
BBEdit HTML Tables implements tables as per the Netscape 1.1 specification. When I commenced coding, the HTML 3.0 specification had not been finalised and there are as yet no Macintosh browsers capable of displaying HTML 3.0 tables. Now that the HTML 3.0 specification has been agreed on and appears to be finalised, I will start work on a version of this software that implements the new (much more complex) specification. I expect the upgraded version 2.0 will be released coincident with the release of Netscape 3.0. If you register for version 1.0 and provide me with your email address, I will automatically send you version 2.0, which you will also be registered for at no furthur cost.
BBEdit HTML Tables has been extensively tested on versions 3.1.1 and 3.5 Lite of BBEdit. It requires a version of BBEdit that supports extensions, which means version 3.0 or later.
Shareware Fee And Contacting The Author
BBEdit HTML Tables is shareware, please be honest enough to pay if you play. The fee is US$5 which I will happily accept in cash if you don't want to pay the exorbitant fees charged by banks for other currency instruments. I know the postal service hates this, but put it between two pieces of good white paper (giving your contact details, perhaps 8-) and I promise not to tell on you. Other currencys are acceptable but I would prefer the US$ as I travel occasionally over there.
You can send cash payments to:
Stephen Marshall
c/o Information Technology Services
Kelburn Parade
PO Box 600
Wellington
New Zealand
For other than cash payments, you can use the Register program and pay through Kagi Shareware as detailed below.
If you are paying for more than one user then these are the charges:
1- 10 single user licenses, US$5 per user
11+ single user licenses, US$3 per user
A Site License costs $100 (equal to 20 users) and covers all locations for your organization within a 160 kilometer radius of your site (100 miles). One big advantage of a Site License is that you do not need to keep track of how many people at your site are using the software. A World-Wide License costs $400 and it covers all locations for your organization on the planet earth.
Paying for BBEdit HTML Tables is fairly simple. Open the Register program that accompanies BBEdit HTML Tables. Enter your name, your email address, and the number of single user licenses you desire for each program you wish to purchase (or Site or Word-Wide licenses). Save or Copy or Print the data from the Register program and send the data and payment to Kagi Shareware. More specifics on the Register program to follow. Kagi Shareware handles my payment processing.
If paying with Credit Card or First Virtual, you can email or fax the data to Kagi Shareware. Their email address is shareware@kagi.com and their fax number is +1 510 652-6589. You can either Copy the data from Register and paste into the body of an email message or you can Save the data to a file and you can attach that file to an email message. There is no need to compress the data file, it's already pretty small. If you have a fax modem, just Print the data to the Kagi fax number.
Payments sent via email are processed within 3 to 4 days. You will receive an email acknowledgement when it is processed. Payments sent via fax take up to 10 days and if you provide a correct internet email address you will receive an email acknowledgement.
If you are paying with Cash or USD Check you should print the data using the Register application and send it to the address shown on the form, which is:
Kagi Shareware
1442-A Walnut Street #392-DR
Berkeley, California 94709-1405
USA
You can pay with a wide variety of cash from different countries but at present if you pay via check, it must be a check drawn in US Dollars. Kagi Shareware cannot accept checks in other currencies, the conversion rate for non-USD checks is around USD 15 per check and that is just not practical.
If you have a purchasing department, you can enter all the data into the Register program and then select Invoice as your payment method. Print three copies of the form and send it to your accounts payable people. You might want to highlight the line that mentions that they must include a copy of the form with their payment.
Kagi Shareware can not invoice your company, you need to act on my behalf and generate the invoice and handle all the paperwork on your end.
Please do not fax or email payment forms that indicate Cash, Check or Invoice as the payment method. As far as we know, there is still no technology to transfer physical objects via fax or email and without the payment, the form cannot be processed.
Payments send via postal mail take time to reach Kagi Shareware and then up to 10 days for processing. Again, if you include a correct email address, you will hear from Kagi Shareware when the form is processed.
My email address for comments, bug reports etc is marshall@kagi.com. The latest version of BBEdit HTML Tables will be posted in all the usual online places and will also be available from:
If you give me an email address when you register, I will notify you of updates and if requested, include the updates as BinHQXed attachments.
Please note that BBEdit HTML Tables is not a product of Victoria University of Wellington, nor is it endorsed by them in any way whatsoever. I happen to work there, but that should not be regarded as any validation of me or this software by the university.
The BBEdit HTML Tables extension is installed by copying the extension file into the BBEdit extension folder. You may need to quit and restart BBEdit to get it to see the extension. Older versions of BBEdit do not support extensions, if you are using an old version I strongly recommend you upgrade to the current version of either the commercial version or the "lite" version which can be found in all the usual online sources.
Making A New Table Outline
Creating an outline table in BBEdit HTML Tables is done by selecting the place where you want the table, making sure that no text is selected, and choosing the HTML Tables command from the Extensions menu of BBEdit.
First you will be presented with a dialog asking what size the table should be. Enter values for the rows and columns (which both must be greater than zero) and select OK. Choosing Cancel at this point will leave your document unchanged.
You are then presented with the Tables information dialog. This lets you format your table appropriately. You can move through your table using the arrow controls provided. The help button on the lower left corner will turn balloon help on or off if you need reminding or are unsure what a particular item controls. When you are happy with your table, select OK to have it inserted into your document. Choosing Cancel at this point will leave your document unchanged.
Thats it. Happy table making and don't forget to send your shareware fee.
Making A Table From Existing Text
BBEdit HTML Tables will convert a tab delimited table into a HTML table quickly and easily. It expects to find the information organised in rows and columns, with tabs separating the individual cells and returns separating the individual rows. For example the following tab delimited table:
Row1,Cell1 Row1,Cell2 Row1,Cell3
Row2,Cell1 Row3,Cell2 Row4,Cell3
Row3,Cell1 Row3,Cell2 Row3,Cell3
Row4,Cell1 Row4,Cell2 Row4,Cell3
produces this HTML table when using the default settings of BBEdit HTML Tables:
<TABLE>
<TR><TD>Row1,Cell1<TD>Row1,Cell2<TD>Row1,Cell3
<TR><TD>Row2,Cell1<TD>Row3,Cell2<TD>Row4,Cell3
<TR><TD>Row3,Cell1<TD>Row3,Cell2<TD>Row3,Cell3
<TR><TD>Row4,Cell1<TD>Row4,Cell2<TD>Row4,Cell3
</TABLE>
The table will have the same number of columns as the row of text with the most tabs. For example:
Row1,Cell1
Row2,Cell1 Row3,Cell2
Row3,Cell1 Row3,Cell2 Row3,Cell3
produces this HTML table (tab added to improve readability):
<TABLE>
<TR><TD>Row1,Cell1<TD> <TD>
<TR><TD>Row2,Cell1<TD>Row3,Cell2<TD>
<TR><TD>Row3,Cell1<TD>Row3,Cell2<TD>Row3,Cell3
</TABLE>
BBEdit HTML Tables will make no attempt to guess where rowspans and colspans should be as there are too many complicated situations where it would probably guess wrong. You can however add spans in the table information dialog, and this will produce tidier tables. For example (with tabs added):
<TABLE>
<TR><TD COLSPAN=2>Row1,Cell1 <TD ROWSPAN=2>
<TR><TD>Row2,Cell1 <TD>Row3,Cell2
<TR><TD>Row3,Cell1 <TD>Row3,Cell2 <TD>Row3,Cell3
</TABLE>
When adding colspans and rowspans to tables made from existing text, BBEdit HTML Tables will always preserve the existing text by moving it into the cell next to the one being spanned. While not necessarily always the best choice, this will ensure that data is not lost, and can be adjusted after the table has been created. For example:
Otherwise, tables created from existing text can be designed just as table outlines are designed.
Setting The Preferences
The preferences for BBEdit HTML Tables are set by selecting the extension and clicking on the Preferences button in the main dialog. This will let you set the defaults for closing cells and the table width unit. Once saved, these settings will be retained in your BBEdit preferences file and will be used for all future tables you create.
Reference
This is not a general reference to HTML and tables. If you need to know what a particular item does while you are using the software, try using the balloon help provided. A number of good guides to table tags and their behaviour and appearance are available on the WWW, if you need more information try a net search for "HTML" and you should find a wealth of information.
Table Settings
These are settings which apply to the entire table. Properties such as the border width cannot be set for individual cells in the Netscape 1.1 implementation of tables. If you need this level of flexibility, try nesting your tables or waiting for HTML 3.0.
Align
The align attribute controls the alignment of the entire table in the browser window. It has no effect on the alignment of data in cells.
Width
The width attribute controls the width of the table with respect to the entire window. The default is a width of 100%. Values can be entered as either a percentage (i.e. 50% to cover half the width of the browser window) or as a pixel value that ensures the table remains a given width.
Border
The border attribute controls the drawing of the outline that marks out the table and cells. The default is Border=0, which is to say none at all. The value supplied is the width in pixels. The entire border is one thickness, under the Netscape 1.1 specification control of individual cell borders is not possible.
CellPadding
This attribute controls the amount of white space between the data in the cell and the walls of the cell itself.
CellSpacing
This attribute controls the amount of white space between the individual cells.
ID
This field is used to uniquely identify the table, much as a name is used to mark a section of markup.
Caption
The caption is a legend which is normally used to provide a brief synopsis or summary of the table contents.
Close cells
This setting controls whether cell containers (<TD> and <TH>) are closed by the use of </TD> and </TH> tags at the end of each cell. Closure is not technically required and usually you will have no problems if you omit the closing tags. However, if you intend to nest tables (i.e. have a table within a cell of another table) you should close the cells as there is a bug in Netscape 1.1 which will not read nested tables properly unless the cells are closed.
Row Settings
These settings are the defaults for the individual rows. In each case, they can be overridden by the values of the particular cells.
Align
The align attribute controls the horizontal alignment of the text in the cells of the row. The row default value can be overridden by that chosen for particular cell. Possible values are: left, center, and right.
Valign
The valign attribute controls the vertical alignment of the text in the cells of the row. The row default value can be overridden by that chosen for particular cell. Possible values are: top, middle, and bottom.
Heading
Selecting this option formats the cells in the current row as heading cells as opposed to a data cells. This means that the cell information is enclosed in an <TH></TH> container as opposed to a <TD></TD> container. Normally this means that the text is formatted bold and the default cell horizontal alignment becomes centered. Values chosen for particular cells override the value chosen for the row. Changing the row value for a heading will reset all of the cells on that row to match the same heading value.
Cell Settings
Align
The align attribute controls the horizontal alignment of the text in the particular cell. The value chosen overrides the default selected for the row. Possible values are: left, center, and right.
Valign
The valign attribute controls the vertical alignment of the text in the particular cell. The value chosen overrides the default selected for the row. Possible values are: top, middle, and bottom.
Rowspan
Rowspans are cells which span or cover more than one row. Rowspans cannot overlap colspans or other rowspans. If you attempt to create an invalid rowspan, it will be deleted and a system beep played. A cell cannot be both a rowspan and a colspan.
Colspan
Colspans are cells which span or cover more than one column. Colspans cannot overlap rowspans or other colspans. If you attempt to create an invalid colspan, it will be deleted and a system beep played. A cell cannot be both a rowspan and a colspan.
Nowrap
The nowrap attribute supresses the wrapping of text to fit the normal default width of a cell. Instead, the cell is forced to expand to accomodate the text. This attribute should be used carefully as rather wide tables can result from its use.
Heading
Selecting this option formats the current cell as a heading cell as opposed to a data cell. This means that the cell information is enclosed in an <TH></TH> container as opposed to a <TD></TD> container. Normally this means that the text is formatted bold and the default cell horizontal alignment becomes centered. Values chosen for particular cells override the value chosen for the row.
BBEdit is owned by Bare Bones Software, all trademarks are the property of their respective owners, they know who they are, and are used here for informative purposes only. No warranty or endorsement is implied for any product.